8
תגובות

header location לא עובד עם ajax

פתח phpguide1 ,
יש לי מערכת הרשמה שפועלת בajax.
עכשיו אני רוצה שברגע שהשם והסיסמה נכונים - שיעבור לדף הראשי.
אז כזה דבר הייתי מבצע תמיד בעזרת header. אבל עכשיו בajax זה לא עובד.

מה לעשות?

8 תשובות

avatar ענה mat ב 15 לאוגוסט 2012 #

עושים את זה דרך ה js
window.location = "url";

אתה צריך לשלוח תשובה דרך הajax דרך זה תדע בjs האם ולאן להעביר.

avatar ענה phpguide1 ב 15 לאוגוסט 2012 #

איך לשלוח את התשובה? אפשר קוד לדוגמא?

avatar ענה intval ב 15 לאוגוסט 2012 #

if('ICantThinkMyself'===xhr.responseText) window.location='index.php';

avatar ענה phpguide1 ב 16 לאוגוסט 2012 #

O.K.
עשיתי בפונקצייה שמתבצעת אחרי AJAX שנשלח בהצלחה, את הדבר הבא:

$.post('x.ajax',{value},function(data){
if(data == 'הצלחה'){window.location = 'index.php';}
else{$("#div").html(data)});

ובAJAX עשיתי שיחזיר בDATA את המחרוזת "הצלחה" במידה וצריך לעשות ריפרש.
עובד נהדר, תודה
-----------------------------------
רק מעניין אותי, אם אפשר לבצע את ה"העברה" עם אפקט (לדוגמא fadein) - איך?

avatar ענה iiddaannyy ב 17 לאוגוסט 2012 #

fadeOut ואחרי שהוא מסיים לבצע את ההעברה.
בעמוד שאליו מועברים לבצע fadeIn.

avatar ענה phpguide1 ב 17 לאוגוסט 2012 #

את הfadeOut לבצע ככה?

$(window.location='bla.php';).fadeOUt(1000);

?

ואת הfadeIn לעשות לbody?

avatar ענה intval ב 17 לאוגוסט 2012 #

אי אפשר לעשות העברה.
אם אתה רוצה fadein/out אתה צריך שכל האתר יהיה בעמוד אחד, עם div גדול באמצע שיהווה את התוכן של העמוד.
כל פעם שאתה רוצה להעביר משתמש לעמוד אחר, אתה טוען ב ajax את תוכן הדיב החדש, עושה fadeout לישן ו fadein עם התוכן החדש.

לעשות מעבר של עמוד עם אפקט אי אפשר.

avatar ענה iiddaannyy ב 17 לאוגוסט 2012 #

@intval
אפשר. תצטרך לבצע fadeOut, להעביר, ובעמוד שאליו אתה מעביר לעשות fadeIn.